/*
 * Clase principal del Sudoku.
 */
package sudoku.Vista;

import java.awt.BorderLayout;
import javax.swing.JFrame;
import javax.swing.UIManager;
import sudoku.Controlador.SudokuControlador;
import sudoku.Modelo.Juego;

/**
 *
 * @author User
 */
public class SudokuVista1 extends JFrame{
    private Juego juego;             //Juego Corriente
    private SudokuPanel sudokuPanel; //Panel A controlar.
    private SudokuControlador sudokuControlador;
    private PanelBotones botonera;
    
    public SudokuVista1(Juego jgo, SudokuPanel sdkPanel, SudokuControlador sdkControlador, Boolean nuevaVista) {
        super("Sudoku");
        
        try { 
            UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
        }
        catch (Exception ex) {} 
        
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        getContentPane().setLayout(new BorderLayout());

        this.juego = jgo;
        this.sudokuPanel = sdkPanel;
        this.sudokuControlador = sdkControlador;
        botonera = new PanelBotones();
        BarraMenu barraMenu = new BarraMenu();
                 
        botonera.setController(sudokuControlador);
        add(botonera, BorderLayout.SOUTH);
        
        barraMenu.setController(sudokuControlador);
        add(barraMenu,BorderLayout.NORTH);
       
        sudokuPanel.setJuego(juego);
        add(sudokuPanel, BorderLayout.CENTER);
        
        juego.addObserver(botonera);
        juego.addObserver(barraMenu);
        
        if (nuevaVista== true){
            sudokuPanel.setController(sudokuControlador);
            juego.addObserver(sudokuPanel);
        }
                
        pack();
        setLocationRelativeTo(null);
        setVisible(true);
    }
}
